package com.cskaoyan.mapper;

import com.cskaoyan.bean.pojo.MallRole;
import com.cskaoyan.bean.pojo.MallRoleExample;
import com.cskaoyan.bean.vo.SystemRoleVo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface MallRoleMapper {
    long countByExample(MallRoleExample example);

    int deleteByExample(MallRoleExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MallRole record);

    int insertSelective(MallRole record);

    List<MallRole> selectByExample(MallRoleExample example);

    MallRole selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") MallRole record, @Param("example") MallRoleExample example);

    int updateByExample(@Param("record") MallRole record, @Param("example") MallRoleExample example);

    int updateByPrimaryKeySelective(MallRole record);

    int updateByPrimaryKey(MallRole record);

    List<SystemRoleVo> selectBySystemRoleVo();

    String selectOldNameById(Integer id);

    void updateDeleted(@Param("id") Integer id, @Param("date") Date date);

    List<String> selectPermissionsById(Integer roleId);

    void updateAllDeletedByRoleId(Integer roleId);

    int selectByPermission(@Param("permission") String permission, @Param("roleId") Integer roleId);
}